草庐IT

Java HotSpot 枚举开销

全部标签

java - 如何在 JPA 中使用枚举

我有一个电影租赁系统的现有数据库。每部电影都有一个评级属性。在SQL中,他们使用约束来限制该属性的允许值。CONSTRAINTfilm_rating_checkCHECK((((((((rating)::text=''::text)OR((rating)::text='G'::text))OR((rating)::text='PG'::text))OR((rating)::text='PG-13'::text))OR((rating)::text='R'::text))OR((rating)::text='NC-17'::text)))我认为使用Java枚举将约束映射到对象世界会很好。

java - 没有值的 java 枚举和具有私有(private)构造函数的实用程序类之间的区别

对实用程序类做的常见事情是givethemaprivateconstructor:publicfinalclassUtilClass{privateUtilClass(){}...}但不幸的是,有些工具不喜欢那个私有(private)构造函数。他们可能会警告它从未在类中被调用,它未被测试覆盖,该block不包含注释等。如果你这样做,很多警告就会消失:publicenumUtilClass{;...}我的问题是:除了对future开发者的无休止的仇恨之外,在Java中没有值的枚举和具有私有(private)构造函数的类之间有什么重要区别?请注意,我不是在问What'stheadvanta

java - 没有值的 java 枚举和具有私有(private)构造函数的实用程序类之间的区别

对实用程序类做的常见事情是givethemaprivateconstructor:publicfinalclassUtilClass{privateUtilClass(){}...}但不幸的是,有些工具不喜欢那个私有(private)构造函数。他们可能会警告它从未在类中被调用,它未被测试覆盖,该block不包含注释等。如果你这样做,很多警告就会消失:publicenumUtilClass{;...}我的问题是:除了对future开发者的无休止的仇恨之外,在Java中没有值的枚举和具有私有(private)构造函数的类之间有什么重要区别?请注意,我不是在问What'stheadvanta

java - 使用 Java 8 Stream API 查找枚举值

假设有一个名为Type的简单枚举定义如下:enumType{X("S1"),Y("S2");privateStrings;privateType(Strings){this.s=s;}}找到给定s的正确枚举使用带有for循环的静态方法很容易完成(假设该方法是在枚举中定义的),例如:privatestaticTypefind(Stringval){for(Typee:Type.values()){if(e.s.equals(val))returne;}thrownewIllegalStateException(String.format("Unsupportedtype%s.",val)

java - 使用 Java 8 Stream API 查找枚举值

假设有一个名为Type的简单枚举定义如下:enumType{X("S1"),Y("S2");privateStrings;privateType(Strings){this.s=s;}}找到给定s的正确枚举使用带有for循环的静态方法很容易完成(假设该方法是在枚举中定义的),例如:privatestaticTypefind(Stringval){for(Typee:Type.values()){if(e.s.equals(val))returne;}thrownewIllegalStateException(String.format("Unsupportedtype%s.",val)

java - 您是否应该为 Java 枚举定义一个空值/未知值?

当您为接口(interface)中可能“未定义”的事物定义枚举时,您是否应该为此定义一个单独的枚举值,或者在这些情况下只使用enumValue=null吗?例如,serviceX.setPrice(PricepriceEnum)enumPrice{CHEAP,EXPENSIVE,VERRRY_EXPENSIVE,UNKNOWN}和priceEnum.UNKNOWN在需要时或enumPrice{CHEAP,EXPENSIVE,VERRRY_EXPENSIVE}需要时priceEnum=null?对此进行了一些辩论。想到的几点:使用Price.UNKNOWN可以节省一些“if(price=

java - 您是否应该为 Java 枚举定义一个空值/未知值?

当您为接口(interface)中可能“未定义”的事物定义枚举时,您是否应该为此定义一个单独的枚举值,或者在这些情况下只使用enumValue=null吗?例如,serviceX.setPrice(PricepriceEnum)enumPrice{CHEAP,EXPENSIVE,VERRRY_EXPENSIVE,UNKNOWN}和priceEnum.UNKNOWN在需要时或enumPrice{CHEAP,EXPENSIVE,VERRRY_EXPENSIVE}需要时priceEnum=null?对此进行了一些辩论。想到的几点:使用Price.UNKNOWN可以节省一些“if(price=

java - 是否可以弃用 Java 枚举的某些值,如果可以,如何弃用?

我想弃用一些但不是所有可能的枚举值。 最佳答案 是的,在它们上面加上一个@Deprecated注释。例如:enumStatus{OK,ERROR,@DeprecatedPROBLEM}您还可以添加JavaDoc@deprecated标记来记录它:enumStatus{OK,ERROR,/***@deprecatedUseERRORinstead.*/@DeprecatedPROBLEM} 关于java-是否可以弃用Java枚举的某些值,如果可以,如何弃用?,我们在StackOverflo

java - 是否可以弃用 Java 枚举的某些值,如果可以,如何弃用?

我想弃用一些但不是所有可能的枚举值。 最佳答案 是的,在它们上面加上一个@Deprecated注释。例如:enumStatus{OK,ERROR,@DeprecatedPROBLEM}您还可以添加JavaDoc@deprecated标记来记录它:enumStatus{OK,ERROR,/***@deprecatedUseERRORinstead.*/@DeprecatedPROBLEM} 关于java-是否可以弃用Java枚举的某些值,如果可以,如何弃用?,我们在StackOverflo

自定义数据类型(结构体、枚举)

各位朋友,大家好。欢迎大家来到我的博客,我今天将要为大家分享的是自定义数据类型中的结构体和位段方面的知识。那么,话不多说,接下来就来看看我的分享吧。目录什么是结构体呢?结构体的自引用计算结构体的大小(对齐数)位段 什么是位段 枚举枚举的优点总结什么是结构体呢?我们都知道数组,我们可以在数组中存放相同数据类型的数据,比如说整型数组里存放的都是整形,字符数组里存放的都是字符,但是,当我们想要存放不同数据类型的时候,比如说一个学生的姓名,年龄,性别,电话号码,我们该怎么做呢?这时候就体现到自定义数据类型:结构体的作用了。我们可以在结构体中存放我们想要存放的数据类型,这就极大的方便了我们的日常使用。那